<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth LE Mesh Library: Mesh Light Lightness Server</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth LE Mesh Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__wiced__bt__mesh__light__lightness__server.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Mesh Light Lightness Server<div class="ingroups"><a class="el" href="group__wiced__bt__mesh.html">LE Mesh</a> &raquo; <a class="el" href="group__wiced__bt__mesh__models.html">Mesh Models Library API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The AIROC Mesh Light Lightness Server module provides a way for an application to implement a dimmable light device which can be controlled specifically by setting the brightness, but also can be can be controlled using a Level slider (Generic Level client) and On/Off switch (Generic On/Off client). </p>
<p>In addition to that the device supports a default transition time server functionality and the application can specify on power up behavior.</p>
<p>To include the Mesh Models support for the Light Lightness Server model the application includes <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga1fffbf21e1b920895a4718a3a207a1a9">WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</a> in the device definition. If the device supports several elements with Light Lightness Server, for example, a light fixture or a chandelier with several dimmable lights, the <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga1fffbf21e1b920895a4718a3a207a1a9">WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</a> shall be included for each element.</p>
<p>In addition to the definition, the application shall initialize the Light Lightness module by calling <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaae4681ec20a9d843b07ee8807e68241c">wiced_bt_mesh_model_light_lightness_server_init</a> function for each element where the light dimming functionality is required providing the <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> callback that will be executed when the brightness level of the device needs to be changed.</p>
<p>Note: The Light Lightness module is used internally by the mesh models library in color light scenarios where dimming is one of the methods controlling the light. In that case, the application shall not implicitely include <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga1fffbf21e1b920895a4718a3a207a1a9">WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</a> and shall not perform module initialization.</p>
<p>While performing initialization the application provides the callback that will be executed when the library needs to change the brightness of a light due to a request received over the mesh network, or due to the internal schedule.</p>
<p>If brightness of the dimmable light is changed locally the application should call the wiced_bt_mesh_model_light_lightness_status_changed so that the library can maintain correct state and send an appropriate status message if it is configured to do so.</p>
<p>Most of the functionality of the Light Lightness server device is implemented in the Mesh Models Library. The application only needs to set hardware appropriately on receiving WICED_BT_MESH_LIGHT_LIGHTNESS_STATUS event. If client requests to change the brightness to the target value over a period of time, the library will maintain the timer and will periodically call the application with appropriate power level.</p>
<p>The default transition time is managed by the Mesh Models library. The application provides factory default in the default_transition_time element of the <a class="el" href="group__wiced__bt__mesh__core.html#ga347805955f2e047fa5a05b5dc6ec939f">wiced_bt_mesh_core_config_t</a> configuration structure. The default value is used unless overwritten by the default transition time client.</p>
<p>The on power up behavior is managed by the Mesh Models library. The application provides factory default in the onpowerup_state element of the <a class="el" href="group__wiced__bt__mesh__core.html#ga347805955f2e047fa5a05b5dc6ec939f">wiced_bt_mesh_core_config_t</a> configuration structure. The default value is used unless overwritten by the default transition time client. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga1fffbf21e1b920895a4718a3a207a1a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga1fffbf21e1b920895a4718a3a207a1a9">WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</a></td></tr>
<tr class="memdesc:ga1fffbf21e1b920895a4718a3a207a1a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mesh Light Lightness Server Device.  <a href="#ga1fffbf21e1b920895a4718a3a207a1a9">More...</a><br /></td></tr>
<tr class="separator:ga1fffbf21e1b920895a4718a3a207a1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaabcb1d96daa26aa395a17dcc1b98241f"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a>(uint8_t element_idx, uint16_t event, void *p_data)</td></tr>
<tr class="memdesc:gaabcb1d96daa26aa395a17dcc1b98241f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server callback.  <a href="#gaabcb1d96daa26aa395a17dcc1b98241f">More...</a><br /></td></tr>
<tr class="separator:gaabcb1d96daa26aa395a17dcc1b98241f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaae4681ec20a9d843b07ee8807e68241c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaae4681ec20a9d843b07ee8807e68241c">wiced_bt_mesh_model_light_lightness_server_init</a> (uint8_t element_idx, <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> *p_callback, wiced_bool_t is_provisioned)</td></tr>
<tr class="memdesc:gaae4681ec20a9d843b07ee8807e68241c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server Module initialization.  <a href="#gaae4681ec20a9d843b07ee8807e68241c">More...</a><br /></td></tr>
<tr class="separator:gaae4681ec20a9d843b07ee8807e68241c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga730594b6d325c881e88df4fb3ff3dd3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga730594b6d325c881e88df4fb3ff3dd3c">wiced_bt_mesh_model_light_lightness_actual_changed</a> (uint8_t element_idx, uint16_t value)</td></tr>
<tr class="memdesc:ga730594b6d325c881e88df4fb3ff3dd3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Actual changed.  <a href="#ga730594b6d325c881e88df4fb3ff3dd3c">More...</a><br /></td></tr>
<tr class="separator:ga730594b6d325c881e88df4fb3ff3dd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga814516f38364c0cf37c710bca3754d42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga814516f38364c0cf37c710bca3754d42">wiced_bt_mesh_model_light_lightness_linear_changed</a> (uint8_t element_idx, uint16_t value)</td></tr>
<tr class="memdesc:ga814516f38364c0cf37c710bca3754d42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Linear changed.  <a href="#ga814516f38364c0cf37c710bca3754d42">More...</a><br /></td></tr>
<tr class="separator:ga814516f38364c0cf37c710bca3754d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4239007109ce36d64ff99bd73f5e37f0"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga4239007109ce36d64ff99bd73f5e37f0">wiced_bt_mesh_model_light_lightness_server_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:ga4239007109ce36d64ff99bd73f5e37f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server Message Handler.  <a href="#ga4239007109ce36d64ff99bd73f5e37f0">More...</a><br /></td></tr>
<tr class="separator:ga4239007109ce36d64ff99bd73f5e37f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga457be8e99b3df7a5da4c37e2217e7f9f"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#ga457be8e99b3df7a5da4c37e2217e7f9f">wiced_bt_mesh_model_light_lightness_setup_server_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:ga457be8e99b3df7a5da4c37e2217e7f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Setup Server Message Handler.  <a href="#ga457be8e99b3df7a5da4c37e2217e7f9f">More...</a><br /></td></tr>
<tr class="separator:ga457be8e99b3df7a5da4c37e2217e7f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabcd35c812f4ea1010db7f803a7e1bd3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcd35c812f4ea1010db7f803a7e1bd3">wiced_bt_mesh_model_light_lightness_set_parent</a> (uint8_t element_idx, <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> *p_callback)</td></tr>
<tr class="memdesc:gaabcd35c812f4ea1010db7f803a7e1bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server Set Parent.  <a href="#gaabcd35c812f4ea1010db7f803a7e1bd3">More...</a><br /></td></tr>
<tr class="separator:gaabcd35c812f4ea1010db7f803a7e1bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad58caa585f22114fb28ec2f7dd4ab380"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gad58caa585f22114fb28ec2f7dd4ab380">wiced_bt_mesh_model_light_lightness_server_scene_store_handler</a> (uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len)</td></tr>
<tr class="memdesc:gad58caa585f22114fb28ec2f7dd4ab380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server Scene Store Handler.  <a href="#gad58caa585f22114fb28ec2f7dd4ab380">More...</a><br /></td></tr>
<tr class="separator:gad58caa585f22114fb28ec2f7dd4ab380"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadcc26283abf845ba27559f4069b68578"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gadcc26283abf845ba27559f4069b68578">wiced_bt_mesh_model_light_lightness_server_scene_recall_handler</a> (uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len, uint32_t transition_time, uint32_t delay)</td></tr>
<tr class="memdesc:gadcc26283abf845ba27559f4069b68578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Light Lightness Server Scene Restore Handler.  <a href="#gadcc26283abf845ba27559f4069b68578">More...</a><br /></td></tr>
<tr class="separator:gadcc26283abf845ba27559f4069b68578"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga1fffbf21e1b920895a4718a3a207a1a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fffbf21e1b920895a4718a3a207a1a9">&#9670;&nbsp;</a></span>WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_DEFTT_SRV, <a class="code" href="group__wiced__bt__mesh__default__transition__time__server.html#gaadbba5b7363b2afda149d73b56d0959d">wiced_bt_mesh_model_default_transition_time_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCENE_SRV, <a class="code" href="group__wiced__bt__mesh__scene__server.html#gad02139dbd5de33dbfa4574f1b7524817">wiced_bt_mesh_model_scene_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCENE_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__scene__server.html#ga1e69d93cd77b795bd811c1ae913a39e9">wiced_bt_mesh_model_scene_setup_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_ONOFF_SRV, <a class="code" href="group__wiced__bt__mesh__onoff__server.html#gae8407b3533ba16b322606715ecc95421">wiced_bt_mesh_model_onoff_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_ONOFF_SRV, <a class="code" href="group__wiced__bt__mesh__power__onoff__server.html#gaff7b2624880843f3d34cdf348db91348">wiced_bt_mesh_model_power_onoff_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_ONOFF_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__power__onoff__server.html#ga6c4dd5a8835747d24d55e38a1b630bfd">wiced_bt_mesh_model_power_onoff_setup_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LEVEL_SRV, <a class="code" href="group__wiced__bt__mesh__level__server.html#ga54956fe15bf384bcd2cc9da8435c25e2">wiced_bt_mesh_model_level_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_LIGHT_LIGHTNESS_SRV, <a class="code" href="group__wiced__bt__mesh__light__lightness__server.html#ga4239007109ce36d64ff99bd73f5e37f0">wiced_bt_mesh_model_light_lightness_server_message_handler</a>, <a class="code" href="group__wiced__bt__mesh__light__lightness__server.html#gad58caa585f22114fb28ec2f7dd4ab380">wiced_bt_mesh_model_light_lightness_server_scene_store_handler</a>, <a class="code" href="group__wiced__bt__mesh__light__lightness__server.html#gadcc26283abf845ba27559f4069b68578">wiced_bt_mesh_model_light_lightness_server_scene_recall_handler</a> }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_LIGHT_LIGHTNESS_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__light__lightness__server.html#ga457be8e99b3df7a5da4c37e2217e7f9f">wiced_bt_mesh_model_light_lightness_setup_server_message_handler</a>, NULL, NULL }</div><div class="ttc" id="group__wiced__bt__mesh__power__onoff__server_html_ga6c4dd5a8835747d24d55e38a1b630bfd"><div class="ttname"><a href="group__wiced__bt__mesh__power__onoff__server.html#ga6c4dd5a8835747d24d55e38a1b630bfd">wiced_bt_mesh_model_power_onoff_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_onoff_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power On/Off Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__light__lightness__server_html_ga4239007109ce36d64ff99bd73f5e37f0"><div class="ttname"><a href="group__wiced__bt__mesh__light__lightness__server.html#ga4239007109ce36d64ff99bd73f5e37f0">wiced_bt_mesh_model_light_lightness_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_light_lightness_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Light Lightness Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__light__lightness__server_html_gad58caa585f22114fb28ec2f7dd4ab380"><div class="ttname"><a href="group__wiced__bt__mesh__light__lightness__server.html#gad58caa585f22114fb28ec2f7dd4ab380">wiced_bt_mesh_model_light_lightness_server_scene_store_handler</a></div><div class="ttdeci">uint16_t wiced_bt_mesh_model_light_lightness_server_scene_store_handler(uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len)</div><div class="ttdoc">Light Lightness Server Scene Store Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__default__transition__time__server_html_gaadbba5b7363b2afda149d73b56d0959d"><div class="ttname"><a href="group__wiced__bt__mesh__default__transition__time__server.html#gaadbba5b7363b2afda149d73b56d0959d">wiced_bt_mesh_model_default_transition_time_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_default_transition_time_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Default Transition Time Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__light__lightness__server_html_ga457be8e99b3df7a5da4c37e2217e7f9f"><div class="ttname"><a href="group__wiced__bt__mesh__light__lightness__server.html#ga457be8e99b3df7a5da4c37e2217e7f9f">wiced_bt_mesh_model_light_lightness_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_light_lightness_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Light Lightness Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__scene__server_html_ga1e69d93cd77b795bd811c1ae913a39e9"><div class="ttname"><a href="group__wiced__bt__mesh__scene__server.html#ga1e69d93cd77b795bd811c1ae913a39e9">wiced_bt_mesh_model_scene_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_scene_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Scene Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__onoff__server_html_gae8407b3533ba16b322606715ecc95421"><div class="ttname"><a href="group__wiced__bt__mesh__onoff__server.html#gae8407b3533ba16b322606715ecc95421">wiced_bt_mesh_model_onoff_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_onoff_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">On/Off Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__scene__server_html_gad02139dbd5de33dbfa4574f1b7524817"><div class="ttname"><a href="group__wiced__bt__mesh__scene__server.html#gad02139dbd5de33dbfa4574f1b7524817">wiced_bt_mesh_model_scene_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_scene_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Scene Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__level__server_html_ga54956fe15bf384bcd2cc9da8435c25e2"><div class="ttname"><a href="group__wiced__bt__mesh__level__server.html#ga54956fe15bf384bcd2cc9da8435c25e2">wiced_bt_mesh_model_level_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_level_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Level Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__onoff__server_html_gaff7b2624880843f3d34cdf348db91348"><div class="ttname"><a href="group__wiced__bt__mesh__power__onoff__server.html#gaff7b2624880843f3d34cdf348db91348">wiced_bt_mesh_model_power_onoff_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_onoff_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power On/Off Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__light__lightness__server_html_gadcc26283abf845ba27559f4069b68578"><div class="ttname"><a href="group__wiced__bt__mesh__light__lightness__server.html#gadcc26283abf845ba27559f4069b68578">wiced_bt_mesh_model_light_lightness_server_scene_recall_handler</a></div><div class="ttdeci">uint16_t wiced_bt_mesh_model_light_lightness_server_scene_recall_handler(uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len, uint32_t transition_time, uint32_t delay)</div><div class="ttdoc">Light Lightness Server Scene Restore Handler.</div></div>
</div><!-- fragment -->
<p>Mesh Light Lightness Server Device. </p>
<p>The Mesh Light Lightness Server Device device implements all required models for a dimmable bulb. The time and scheduler models are optional and can be commented out to reduce memory footprint. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gaabcb1d96daa26aa395a17dcc1b98241f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaabcb1d96daa26aa395a17dcc1b98241f">&#9670;&nbsp;</a></span>wiced_bt_mesh_light_lightness_server_callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_mesh_light_lightness_server_callback_t(uint8_t element_idx, uint16_t event, void *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server callback. </p>
<p>Light Lightness Server callback is executed by the Mesh Models library when the application is required to adjust the amount of light emitted by the device. The application is responsible for setting the hardware (for example, by controlling PWM) to comply with the value requested by the library.</p>
<p>If peer device requested to transition to the new brightness level over a period of time, the callback will be executed repeatedly. Mesh Library calculates the present lightness level and submits to the application to update the hardware.</p>
<p>The p_data parameter points to the <a class="el" href="structwiced__bt__mesh__light__lightness__status__t.html">wiced_bt_mesh_light_lightness_status_t</a> structure. Typically the application will only need to use the value of the lightness_linear_present field which specify the lightness of the device which shall be set at this particular moment. If the remaining_time field is not zero, the transition to the new target level is in progress and the Mesh Library will execute the callback at least once more before the transition is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index of the primary element </td></tr>
    <tr><td class="paramname">event</td><td>The only event that the application should process is WICED_BT_MESH_LIGHT_LIGHTNESS_STATUS </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the <a class="el" href="structwiced__bt__mesh__light__lightness__status__t.html">wiced_bt_mesh_light_lightness_status_t</a> structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaae4681ec20a9d843b07ee8807e68241c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaae4681ec20a9d843b07ee8807e68241c">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_server_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_light_lightness_server_init </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> *&#160;</td>
          <td class="paramname"><em>p_callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wiced_bool_t&#160;</td>
          <td class="paramname"><em>is_provisioned</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server Module initialization. </p>
<p>A Mesh application which contains Light Lightness Server (for example, an application for a dimmable light) should call this function during application initialization passing element index of the element. If application needs to support multiple dimmable lights, the initialization shall be called multiple times, once per each element.</p>
<p>The application shall not call this function if the Light Lightness is not the top level function of the device, for example, when the Light Lightness is included as a part of the HSL Light.</p>
<p>The application callback <a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> will be executed by the Model Library when it is required to set amount of light emitted by the light to a certain level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index where the server is located. </td></tr>
    <tr><td class="paramname">p_callback</td><td>Application or Parent model callback that will be executed to control the device hardware. </td></tr>
    <tr><td class="paramname">is_provisioned</td><td>If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the Mesh Models Library deletes this module's configuration data stored in the NVRAM.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if initialization was successful </dd></dl>

</div>
</div>
<a id="ga730594b6d325c881e88df4fb3ff3dd3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga730594b6d325c881e88df4fb3ff3dd3c">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_actual_changed()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_light_lightness_actual_changed </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Actual changed. </p>
<p>An application shall call this function to notify the Models Library that the value of Lightness has been changed locally.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which lightness value has changed </td></tr>
    <tr><td class="paramname">value</td><td>New value of lightness</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="ga814516f38364c0cf37c710bca3754d42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga814516f38364c0cf37c710bca3754d42">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_linear_changed()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_light_lightness_linear_changed </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Linear changed. </p>
<p>An application shall call this function to notify the Models Library that the value of Lightness has been changed locally.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which lightness value has changed </td></tr>
    <tr><td class="paramname">value</td><td>New value of lightness</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="ga4239007109ce36d64ff99bd73f5e37f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4239007109ce36d64ff99bd73f5e37f0">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_server_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_light_lightness_server_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server Message Handler. </p>
<p>The Light Lightness Server Message Handler is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this model, and returns WICED_FALSE otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model/Element Index combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="ga457be8e99b3df7a5da4c37e2217e7f9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga457be8e99b3df7a5da4c37e2217e7f9f">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_setup_server_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_light_lightness_setup_server_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Setup Server Message Handler. </p>
<p>The Light Lightness Server Message Handler is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this model, and returns WICED_FALSE otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model/Element Index combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="gaabcd35c812f4ea1010db7f803a7e1bd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaabcd35c812f4ea1010db7f803a7e1bd3">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_set_parent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_light_lightness_set_parent </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__bt__mesh__light__lightness__server.html#gaabcb1d96daa26aa395a17dcc1b98241f">wiced_bt_mesh_light_lightness_server_callback_t</a> *&#160;</td>
          <td class="paramname"><em>p_callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server Set Parent. </p>
<p>This is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. In multi server applications, for example a color light which supports both HSL and CTL controls, only one model should receive Get/Set for lightness, level and on/onff messages. This function should be called when the startup controller changes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Device element to where model is used </td></tr>
    <tr><td class="paramname">p_callback</td><td>Application or Parent model callback that will be executed on receiving a message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if initialization was successful </dd></dl>

</div>
</div>
<a id="gad58caa585f22114fb28ec2f7dd4ab380"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad58caa585f22114fb28ec2f7dd4ab380">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_server_scene_store_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_mesh_model_light_lightness_server_scene_store_handler </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buffer_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server Scene Store Handler. </p>
<p>This is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. The mesh Scene Server calls this function so that the module can store required data for the scene.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which scene information is being stored </td></tr>
    <tr><td class="paramname">p_buffer</td><td>Pointer to a buffer where data should be stored </td></tr>
    <tr><td class="paramname">buf_size</td><td>Maximum amount of data a model can store</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes the model wrote into the provided buffer </dd></dl>

</div>
</div>
<a id="gadcc26283abf845ba27559f4069b68578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadcc26283abf845ba27559f4069b68578">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_light_lightness_server_scene_recall_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_mesh_model_light_lightness_server_scene_recall_handler </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buffer_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>transition_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Light Lightness Server Scene Restore Handler. </p>
<p>This is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. When Scene Server receives Scene Recall message it calls this function with data previously stored in the NVRAM.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which scene information is being recalled </td></tr>
    <tr><td class="paramname">p_buffer</td><td>Pointer to a buffer where model's data is located </td></tr>
    <tr><td class="paramname">buf_size</td><td>Maximum amount of data a model can get from the buffer </td></tr>
    <tr><td class="paramname">transition_time</td><td>Specified time in milliseconds to transition to the target state </td></tr>
    <tr><td class="paramname">delay</td><td>Specifies time in milliseconds before starting to transition to the target state</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes the model read from the provided buffer </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth LE Mesh Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
